package cn.lili.modules.operationcenter.entity.dos;

import cn.lili.mybatis.model.BaseStandardEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.io.Serial;

@Data
@TableName("li_operation_center")
@ApiModel(value = "运营中心")
@NoArgsConstructor
public class OperationCenter extends BaseStandardEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    @NotBlank(message = "运营中心名称不能为空")
    @ApiModelProperty(value = "运营中心名称")
    private String operationName;

    @ApiModelProperty(value = "运营中心图标")
    private String operationIcon;

    @ApiModelProperty(value = "运营中心关键字")
    private String keywords;

    @ApiModelProperty(value = "运营中心描述")
    private String operationDesc;

    @NotBlank(message = "分站联系方式不能为空")
    @ApiModelProperty(value = "运营中心联系方式")
    private String operationPhone;

    @ApiModelProperty(value = "运营中心邮箱")
    private String operationEmail;

    @ApiModelProperty(value = "运营中心QQ")
    private String operationQq;

    @ApiModelProperty(value = "运营中心微信")
    private String operationWechat;

    @NotBlank(message = "运营中心省份不能为空")
    @ApiModelProperty(value = "运营中心省份ID")
    private String provinceId;

    @NotBlank(message = "运营中心省份不能为空")
    @ApiModelProperty(value = "运营中心省份名称")
    private String provinceName;

    @ApiModelProperty(value = "运营中心关联用户表ID")
    private String userId;

    @ApiModelProperty(value = "结算银行开户名")
    private String settlementBankAccountName;

    @ApiModelProperty(value = "结算公司银行账号")
    private String settlementBankAccountNumber;

    @ApiModelProperty(value = "结算开户银行支行名称")
    private String settlementBankName;

    @ApiModelProperty(value = "结算开户银行所在地")
    private String settlementBankAddress;

    @ApiModelProperty(value = "域名")
    private String operationDomain;

    /**
     * @see cn.lili.modules.operationcenter.entity.enums.OperationCenterStatusEnum
     */
    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "用户名")
    @TableField(exist = false)
    private String userName;

    @ApiModelProperty(value = "用户密码")
    @TableField(exist = false)
    private String password;

    @NotBlank(message = "scene cant be null")
    @ApiModelProperty(value = "场景")
    @TableField(exist = false)
    private String scene;

    @ApiModelProperty(value = "短信验证码")
    @TableField(exist = false)
    private String smsCode;

    @ApiModelProperty(value = "飞语openId")
    @TableField(exist = false)
    private String openId;

    @ApiModelProperty(value = "飞语账号")
    @TableField(exist = false)
    private String account;

    @ApiModelProperty(value = "飞语名称")
    @TableField(exist = false)
    private String fyName;
}
